/*
 * This file is subject to the terms and conditions of the GNU General Public
 * License.  See the file COPYING in the main directory of this archive
 * for more details.
 *
 * Copyright (C) 2006 Hangzhou C-SKY Microsystems co.,ltd.
 * Copyright (C) 2006  Li Chunqiang (chunqiang_li@c-sky.com)
 */
#ifndef _ASM_BOOTINFO_H
#define _ASM_BOOTINFO_H

#include <linux/types.h>
#define BOOT_MEM_MAP_MAX        32
#define BOOT_MEM_RAM            1
#define BOOT_MEM_ROM_DATA       2
#define BOOT_MEM_RESERVED       3

#define CL_SIZE		256
/*
 * A memory map that's built upon what was determined
 * or specified on the command line.
 */
struct boot_mem_map {
        int nr_map;
        struct {
                phys_t addr;    /* start of memory segment */
                phys_t size;    /* size of memory segment */
                long type;              /* type of memory segment */
        } map[BOOT_MEM_MAP_MAX];
};

extern struct boot_mem_map boot_mem_map;

extern void add_memory_region(phys_t start, phys_t size, long type);

#endif /* _ASM_BOOTINFO_H */
